Overview
This guide will cover the options available when working with JSON Schema Transformations (JST) in the Gen 1 and Gen 2 canvas of Itential Automation Platform (IAP) for the 2021.1 release.
The steps involved in selecting JST options for the Gen 1 canvas will be discussed first, followed by the options that are available in the Gen 2 canvas.
Create Workflow
From the IAP home page:
- Select Automation Studio from the left navbar. The application screen displays. 
- Select + Create a Workflow from the Quick Start card. The Create dialog opens. - Figure 1: Automation Studio  
- Select Workflow from the dropdown list and enter a name (required) for the workflow. 
- Select the appropriate IAP canvas (Gen 1 or Gen 2) and then click Create. The workflow canvas displays. - Figure 2: Create Workflow  
GEN 1 Workflow
To add a JST in the Gen 1 Workflow canvas:
- In the Search bar (top-right corner), type JST to locate the - transformationtask.
- Click the plus (+) sign to the left of the task. This will add a new JST task labeled - JSON Transformationto the Gen 1 canvas.- Figure 3: Add JST Task (Gen 1)  
- Connect the JST task to the - Startand- Endtasks. You can also hover over the JST task to display the tooltip.- Figure 4: Connect JST Task (Gen 1)  
- Double-click the JSON Transformation task. The edit modal displays. - Figure 5: Edit JST Task (Gen 1)  
- Select the appropriate options (see table below) you would like to use prior to running your transformation. - Option (Gen 1) - Description - Mask Outgoing Schema- This option is available on all tasks. It encrypts outgoing vars and displays them as asterisks in Job Manager. - Validate Incoming- Validates your input. Checks if the input is the correct type and compatible with the enum set of constants in that incoming schema. - Revert To Default Value- Enables use of a default keyword. - Default values from the incoming schemas will be used whenever a key/incoming data value is not provided.
- If an outgoing schema has a default value, an incoming schema is assigned to it.
- If the incoming schema does not have a default defined, then the default for the outgoing schema will be used.
- If an outgoing schema has a default value defined, and nothing is assigned to it, then the default values will be in the transformation output.
 
- Click Save and you will return to the Gen 1 Workflow canvas. 
- Click the Start button (top-left) to run the transformation. - Figure 6: Run JST (Gen 1)  
GEN 2 Workflow
To add a JST in the Gen 2 Workflow canvas:
- Select Gen 2 in the dialog and click Create. A relatively blank Gen 2 canvas then displays that contains a - Startand- Endtask.- Figure 7: Create Workflow (Gen 2)  
- When a Gen 2 workflow is first created, a - New Nodebox is already provided. This is an empty node and needs to be populated with an actual task item.
- Click the - New Nodebox on the Gen 2 canvas.
- Go to the Task Menu Sidebar on the right side of the screen. This area contains a list of nodes and tasks that can be used in the Gen 2 workflow. 
- In the Search bar at the top, type JST to locate the - transformationtask.
- Click the - transformationtask and observe that the "New Node" on the canvas has been replaced with the- transformationtask. Also notice that the Task Menu Sidebar is now replaced with details and configuration options for the- transformationtask.
- Click Save to retain changes to the Gen 2 Workflow. - Figure 8: Save Workflow (Gen 2)  
- Click the - transformationnode to select options.
- On the Details tab, you can select the Mask Outgoing Variables option. See the table below. - Figure 9: Details Tab (Gen 2)  
- Click the Options Tab to select Validate Incoming or revertToDefaultValue, as required. Details for all JST options in Gen 2 workflows are referenced in the table below. - Figure 10: Options Tab (Gen 2)  - Option (Gen 2) - Description - Mask Outgoing Variable- This option is available on all tasks. It encrypts outgoing vars and displays them as asterisks in Job Manager. - Validate Incoming- Validates your input. Checks input is the correct type and compatible with enums/const set in that incoming schema. - revertToDefaultValue- Enables use of default keyword. - Default values from the incoming schemas will be used whenever a key/incoming data value is not provided.
- If an outgoing schema has a default value, an incoming schema is assigned to it.
- If the incoming schema does not have a default defined, then the outgoing schema's default will be used.
- If an outgoing schema has a default value defined, and nothing is assigned to it, then the default values will be in the transformation's output.
 
- Click the Save icon (floppy disk) to retain your JST options. 
- Click the Start button to run the workflow. - Figure 11: Icons to Save and Run (Gen 2) 